package com.wx.dao;

import com.wx.pojo.CheckGroup;
import com.wx.pojo.Setmeal;
import org.apache.ibatis.annotations.*;

import java.util.List;

/**
 * 使用配置文件的方式
 */
public interface SetmealDao {

    List<Setmeal> findAllSetmeal(@Param("queryString") String queryString);

    List<CheckGroup> findAllCheckgroup();

    void addSetmeal(Setmeal setmeal);
    /**
     * 多对多查询
     * 依据套餐id查询出对应的所有检查组
     */
    Setmeal findCheckgoupsBySetmealId(Integer id);
    /**
     * 无关联直接删除
     */
    void deleteSetmealById(Integer id);

    Setmeal getSetmealById(Integer id);

    void updateSetmeal(Setmeal setmeal);
    /**
     * 多表关联查询
     * 查找出所有的套餐
     * 查找出所有对应的检查组与检查项
     */
    @Select("select * from t_setmeal")
    @Results({
            @Result(property = "id",column = "id"),
            @Result(column = "id",
                    property = "checkGroups",
                    javaType = List.class,
                    many = @Many(select = "com.wx.dao.SetmeatCheckgroupDao.findAllCheckgroupBySetmealId"))
    })
    List<Setmeal> findAllCheckitems();
}
